1. Field of the Invention
The present invention relates to a method and apparatus for delivering protocol data units in a user equipment of a wireless communications system, and more particularly to a method and apparatus for delivering protocol data units by properly discarding previously stored segments of protocol data units in a user equipment of a wireless communications system.
2. Description of the Prior Art
The third generation (3G) mobile telecommunications system has adopted a Wideband Code Division Multiple Access (WCDMA) wireless air interface access method for a cellular network. WCDMA provides high frequency spectrum utilization, universal coverage, and high quality, high-speed multimedia data transmission. The WCDMA method also meets all kinds of QoS requirements simultaneously, providing diverse, flexible, two-way transmission services and better communication quality to reduce transmission interruption rates.
In the prior art, lengths of all Protocol Data Units (PDUs) outputted from a Radio Link Control (RLC) layer are the same. However, this decreases bandwidth utility rate and data processing efficiency, especially for high data rate applications, such as High Speed Downlink Package Access (HSDPA) and High Speed Uplink Package Access (HSUPA) in the 3G mobile telecommunications system. Thus, targeting high data rate applications, the 3rd Generation Partnership Project (3GPP) makes some modifications for RLC and Media Access Control (MAC) layers, which primarily includes adopting flexible RLC PDU sizes and providing PDU segmentation/reassembly in the MAC layer, to enhance bandwidth utility rate and data processing efficiency, thereby making high data rate enabled by physical layer features such as Multi-input Multi-output (MIMO) and high order modulations possible.
In such a situation, the 3GPP newly introduces a MAC-ehs protocol entity in the MAC layer, which allows the support of flexible RLC PDU sizes as well as MAC segmentation/reassembly. Furthermore, unlike MAC-hs for HSDPA, MAC-ehs allows multiplexing of data from several priority queues within one transmission time interval (TTI) of 2 ms. Detailed operations of the MAC-ehs entity can be found in the MAC protocol specification formulated by the 3GPP, and are not narrated herein.
Please refer to FIG. 1, which illustrates a schematic diagram of a MAC-ehs PDU. The MAC-ehs PDU consists of a plurality of reordering PDUs R_PDUn and a corresponding MAC-ehs header. Each reordering PDU consists of at least one consecutive MAC-ehs Serving Data Unit (SDUs) or segments of MAC-ehs SDUs belonging to the same priority queue, or reordering queue. A MAC-ehs SDU, i.e. an upper layer PDU, is either a MAC-c PDU or a MAC-d PDU. For each reordering PDU, the MAC-ehs header carries a Logical channel identifier (LCH-ID) field LCH-IDn, a Length field Ln, a Transmission Sequence Number (TSN) field TSNn, a Segmentation Indication (SI) field SIn, and a header extension field Fn. The LCH-ID field LCH-IDn indicates a priority queue for each reordering PDU, wherein the mapping between the logic channel and the priority/reordering queue is provided by upper layers. The Length field Ln indicates data length of each reordering PDU. The TSN field TSNn indicates a TSN of each reordering PDU for reordering purpose. The SI field SIn indicates whether MAC-ehs SDUs included in each reordering PDU are segmented and segmentation type of the reordering PDU for reassembly. The header extension field Fn then indicates whether there exists a next reordering PDU in the following.
Thus, when a MAC-ehs PDU is received by the UE, each reordering PDU is firstly assigned to a corresponding reordering queue for reordering according to the LCH-ID field LCH-IDn and the TSN field TSNn. In each reordering queue, if the latest received reordering PDU is determined to be consecutive to a previously stored segment of a MAC-ehs SDU, the reordering PDU shall be further concatenated with the previously stored segment of the MAC-ehs SDU according to the SI field SIn, so that a complete MAC-ehs SDU can be delivered to upper layers.
According to the above MAC protocol, the SI field is indicated by two bits, and thus includes four segmentation types:
1) Type ‘00’: indicates that a first MAC-ehs SDU and a last MAC-ehs SDU in a reordering PDU are not segmented.
2) Type ‘01’: indicates that a first MAC-ehs SDU in a reordering PDU is a front-end segmented upper layer PDU; and, if there are more than one MAC-ehs SDUs in the reordering PDU, a last MAC-ehs SDU in the reordering PDU is not segmented.
3) Type ‘10’: indicates that a last MAC-ehs SDU in a reordering PDU is a back-end segmented upper layer PDU; and, if there are more than one MAC-ehs SDUs in the reordering PDU, a first MAC-ehs SDU in the reordering PDU is not segmented.
4) Type ‘11’: indicates that a first MAC-ehs SDU in a reordering PDU is a front-end segmented upper layer PDU; and, a last MAC-ehs SDU in the reordering PDU is a back-end segmented upper layer PDU.
In the prior art, when a reordering PDU with the SI field=‘00’ is received, since MAC-ehs SDUs included in the reordering PDU have not been segmented, all complete upper layer PDUs in the reordering PDU shall be directly delivered to upper layers, such as to corresponding logic channels, and concatenation with the previously stored segment of MAC-ehs SDU is not performed. However, if the previous stored PDU segment is not discarded, a wrong upper layer PDU may be generated and delivered due to incorrect concatenation.
For example, when a reordering PDU with TSN=2 and the SI field=‘00’ is received, as mentioned above, all complete upper layer PDUs in the reordering PDU shall be directly delivered to corresponding logic channels without performing any concatenation. In this case, if SI fields of following received reordering PDUs are all equal to ‘00’, the previous stored PDU segment would not be discarded or concatenated. At this time, if a reordering PDU with TSN=2 of a next cycle and the SI field=‘01’ or ‘11’ is received, the reordering PDU would be determined to be consecutive with the previously stored PDU segment according to the TSN, and may concatenate with the previously stored PDU segment, so as to generate an incorrect upper layer PDU.
In short, since the previously stored PDU segment is not discarded appropriately, the following received reordering PDU may be concatenated with the previously stored PDU segment in some situations, resulting in a data error of the UE.